home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-08-17 | 6.4 KB | 176 lines | [TEXT/MPS ] |
- /*
- File: InputSprocket.r
-
- Contains: Games Sprockets: InputSprocket interfaaces
-
- Version: Technology: Input Sprocket 1.3
- Release: Universal Interfaces 3.2
-
- Copyright: © 1996-1998 by Apple Computer, Inc., all rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
-
- #ifndef __INPUTSPROCKET_R__
- #define __INPUTSPROCKET_R__
-
- #ifndef __CONDITIONALMACROS_R__
- #include "ConditionalMacros.r"
- #endif
-
- #define kISpDeviceClass_SpeechRecognition 'talk'
- #define kISpDeviceClass_Mouse 'mous'
- #define kISpDeviceClass_Keyboard 'keyd'
- #define kISpDeviceClass_Joystick 'joys'
- #define kISpDeviceClass_Wheel 'whel'
- #define kISpDeviceClass_Pedals 'pedl'
- #define kISpDeviceClass_Levers 'levr'
- #define kISpDeviceClass_Tickle 'tckl' /* a device of this class requires ISpTickle */
- #define kISpDeviceClass_Unknown '????'
-
- #define kISpKeyboardID_Apple 'appl' /* currently this applies to _all_ keyboards */
-
- /* Preliminary Rez interfaces for InputSprocket.
- *
- * Specifically, this file is intended to make the development process
- * easier. Now the default keyboard settings can be specified in a rez
- * file which should be easy to modify when new needs are added and/or
- * the order of needs are changed.
- *
- * Note: When the ISp keyboard driver undergoes a major revision, it will
- * almost certainly use a newer format to store it's settings. It will,
- * however, continue to be able to read this format, but it will no longer
- * write it.
- *
- * Currently, only a template is provided for keyboard settings, since
- * keyboard is the one that is the most difficult to recreate, and since
- * each driver uses a private format for its settings. For all other
- * devices, you should continue to include the 'tset' resources copied
- * from your prefs file. Make sure you include references to them in
- * the set list resource ('setl').
- *
- * The 'setl' resource contains a length value of the 'tset' is refers to.
- * This obviously won't do for use in Rez, so the ISpLib 1.2.1 has been
- * modified to allow a zero value (in which case, it cannot check to
- * verify that it is the correct length.) Because of this change:
- * applications that use this template WILL REQUIRE INPUTSPROCKET 1.2.1
- * OR LATER... you have been warned.
- *
- */
-
-
- /*----------------------------isap • InputSprocket application resource ----------------*/
- type 'isap'
- {
- flags:
- fill bit[24];
- fill bit[6];
- boolean doesNotCallISpInit, callsISpInit;
- boolean notUseInputSprocket, usesInputSprocket;
-
- fill long[3];
- };
-
-
- /*----------------------------setl • a set list resource -------------------------------*/
- type 'setl'
- {
- unsigned longint currentVersion = 2;
-
- unsigned longint = $$Countof(Needs);
- array Needs
- {
- pstring[63]; /* the name of the set */
- unsigned longint length; /* the length of the set */
- literal longint deviceClass; /* the device class for the set */
- literal longint deviceIdentifier; /* the device identifier for the set */
-
- flags:
- fill bit[24];
- fill bit[3];
- fill bit; /* set from custom (not supported) */
- fill bit; /* set from driver (not supported) */
- boolean notApplSet, isApplSet; /* true if the set is from application and not a default */
- boolean notDefaultSet, isDefaultSet; /* true if this is the default for its device */
- fill bit;
-
- fill long[3];
- integer resourceID; /* the resource ID of the set */
- fill word;
- };
- };
-
-
-
- /*----------------------------tset • a saved set ---------------------------------------*/
- /*----------------------------only valid for keyboard tsets ----------------------------*/
- type 'tset'
- {
- unsigned longint supportedVersion = 1;
-
- unsigned longint = $$Countof(ExpandedNeeds);
- wide array ExpandedNeeds
- {
- keyCode:
- unsigned hex integer noKey = 0x8000, /* virtual key code */
- /* NOTE: names of keys refer to the Apple Extended English Keyboard */
- /* Non-english keyboards have slightly different keycodes */
- /* In all cases, the actual virtual key code is stored for that device */
- tildeKey = 0x0032, n1Key = 0x0012, n2Key = 0x0013, n3Key = 0x0014, n4Key = 0x0015,
- n5Key = 0x0017, n6Key = 0x0016, n7Key = 0x001A, n8Key = 0x001C, n9Key = 0x0019,
- n0Key = 0x001D, minusKey = 0x001B, plusKey = 0x0018, deleteKey = 0x0033,
-
- tabKey = 0x0030, aKey = 0x0000, zKey = 0x000D, eKey = 0x000E, rKey = 0x000F,
- tKey = 0x0011, yKey = 0x0010, uKey = 0x0020, iKey = 0x0022, oKey = 0x001F,
- pKey = 0x0023, lBraceKey = 0x0021, rBraceKey = 0x001E, backslashKey = 0x002A,
-
- capsKey = 0x0039, aKey = 0x0000, sKey = 0x0001, dKey = 0x0002, fKey = 0x0003,
- gKey = 0x0005, hKey = 0x0004, jKey = 0x0026, kKey = 0x0028, lKey = 0x0025,
- colonKey = 0x0029, quoteKey = 0x0027, returnKey = 0x0024,
-
- shiftKey = 0x0038, zKey = 0x0006, xKey = 0x0007, cKey = 0x0008, vKey = 0x0009,
- bKey = 0x0001, nKey = 0x002D, mKey = 0x002E, lessThanKey = 0x002B,
- greaterThanKey = 0x002F, slashKey = 0x002C,
-
- controlKey = 0x003B, optionKey = 0x003A, commandKey = 0x0037, spaceKey = 0x0031,
- rShiftKey = 0x003C, rOptionKey = 0x003D, rControlKey = 0x003E,
-
-
- escKey = 0x0035, f1Key = 0x007a, f2Key = 0x0078, f3Key = 0x0063, f4Key = 0x0076,
- f5Key = 0x0060, f6Key = 0x0061, f7Key = 0x0063, f8Key = 0x0064, f9Key = 0x0065,
- f10Key = 0x006D, f10Key = 0x006D, f11Key = 0x0067, f12Key = 0x006F,
- f13Key = 0x0069, f14Key = 0x006B, f15Key = 0x0071,
-
- helpKey = 0x0072, homeKey = 0x0073, pageUpKey = 0x0074,
- delKey = 0x0075, endKey = 0x0077, pageDownKey = 0x0079
-
- upKey = 0x007E, leftKey = 0x007B, downKey = 0x007D, rightKey = 0x007C,
-
- kdpClearKey = 0x0047, kpdEqualKey = 0x0051, kpdSlashKey = 0x004B, kpdStarKey = 0x0043,
- kpd7Key = 0x0059, kpd8Key = 0x005B, kpd9Key = 0x005C, kpdMinusKey = 0x004E,
- kpd4Key = 0x0056, kpd5Key = 0x0057, kpd6Key = 0x0058, kpdPlusKey = 0x0045,
- kpd1Key = 0x0053, kpd2Key = 0x0054, kpd3Key = 0x0055, kpdEnterKey = 0x004C,
- kpd0Key = 0x0052, kpdDecimalKey = 0x0041;
-
- /* Modifiers required to be down */
- boolean rControlOff, rControlOn;
- boolean rOptionOff, rOptionOn;
- boolean rShiftOff, rShiftOn;
- boolean controlOff, controlOn;
- boolean optionOff, optionOn;
- fill bit; /* capsLockOff, capsLockOn*/
- boolean shiftOff, shiftOn;
- boolean commandOff, commandOn;
-
- fill byte;
- };
- };
-
-
- #endif /* __INPUTSPROCKET_R__ */
-
-